tools/libxl: Correct static pattern rule for pkgconfig files
authorAndrew Cooper <andrew.cooper3@citrix.com>
Tue, 27 Jan 2015 20:34:02 +0000 (20:34 +0000)
committerIan Campbell <ian.campbell@citrix.com>
Wed, 28 Jan 2015 09:59:46 +0000 (09:59 +0000)
Attempting to build libxl causes Make to emit the following warnings

andrewcoop@andrewcoop:xen.git$ make -C tools/libxl all
...
Makefile:253: target `xenlight.pc' doesn't match the target pattern
Makefile:253: target `xlutil.pc' doesn't match the target pattern
...

because the static pattern rule is malformed.  'Makefile' as the only
prereq-pattern does not contain a pattern.

The rule ends up working because of the use of $@.in where $< should have been
used, but lacked any dependency between a $FOO.pc and its .in source file.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Ian Campbell <Ian.Campbell@citrix.com>
CC: Ian Jackson <Ian.Jackson@eu.citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
tools/libxl/Makefile

index 5df49703d29155fff781e8d5220b27e428ddb7fd..7329521460c2b0b4c125999a63c3d13828cd85ea 100644 (file)
@@ -250,8 +250,8 @@ libxl-save-helper: $(SAVE_HELPER_OBJS) libxenlight.so
 testidl: testidl.o libxlutil.so libxenlight.so
        $(CC) $(LDFLAGS) -o $@ testidl.o libxlutil.so $(LDLIBS_libxenlight) $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)
 
-$(PKG_CONFIG): %.in : Makefile
-       @sed -e 's/@@version@@/$(MAJOR).$(MINOR)/g' < $@.in > $@.new
+$(PKG_CONFIG): % : %.in Makefile
+       @sed -e 's/@@version@@/$(MAJOR).$(MINOR)/g' < $< > $@.new
        @mv -f $@.new $@
 
 .PHONY: install